1. Authentication and Identification
User authentication techniques, such as those relying on conventional passwords, one time passwords (OTPs), or hardware or software smartcards, etc., have all too often proven to be either too weak and susceptible to attacks, such as man in the middle (MITM) or man in the browser (MITB) attacks, or too cumbersome and expensive. The use of single sign on techniques such as OpenID, FaceBook Connect, etc., only make the problem worse, as once the attacker has compromised the master account, the attacker can access all other accounts that rely on the initial login. Further, the focus of attackers has shifted from trying to break the login process to using sophisticated techniques to come in after the user has logged-in and attacking transactions as they are being performed. This has made transaction authentication, the act of confirming if the transaction seen at the back end web server is identical to that intended by the user, even more important.
When considering authentication, one must necessarily consider identification. An important concept when considering identification is that each one us is a single person—a single carbon based unit. We have one identity in reality, but in the digital world we tend to have multiple digital representations of identity with multiple enterprises—a Facebook™ identity, an Amazon™ identity, multiple banking identities (mortgage, savings account, etc.), and so on. So each of us has multiple digital identities and each of these enterprises has a responsibility to manage these identities and to verify that the users of their system are the correct intended user. Additionally, different enterprises have different responsibilities. Banks and other financial institutions, for example, have a regulatory responsibility—to know their customers. They are required to a certain degree to know that you are correctly identified. Other enterprises, such as Facebook™, are not so much concerned with your identity for regulatory purposes, but because they want to share your information with other users—their need to identify is different. So each of these enterprises has a different set of what is essentially identity attributes about you in their database and they use these attributes of your identity to verify that you are who you say you are when you use the services provided by the enterprise.
It is common for most enterprises to require that a user select a user name and password, often referred to as user credentials, at the time the user establishes a relationship with the enterprise. These are shared secrets for subsequent use by the enterprise to verify you are who you say you are when accessing the enterprise website. However, banks and other financial institutions may require more. These institutions often require additional credentials, such as a social security number or some other personal information. That is, banks and other financial institutions typically subject you to more careful examination or scrutiny by requesting other identity related information, which are also often referred to as user credentials, when you initially establish a relationship with the institution, but thereafter rely primarily on your user name and password, and only secondarily on such other identity related information, to verify that you are who you say you are, i.e. to verify your identity, when accessing the institution's website.
Enterprises can also utilize information about what you possess (a credit card, a key, a token, etc.) to verify your identity. A bank issues you a credit or debit card, and can ask for the account number and other information associated with the card, to verify you still possess it. Some cards and tokens have computing capabilities built-in, and can generate unique values when challenged. Those knowledgeable in the art know that this often comes in the form of sending a random value to the token, and the token then cryptographically signs that random value using a private key stored on the token. When the token was issued, the matching public key was stored in association with the identity information of the user who was issued the token. When a token is challenged, the challenger can cryptographically verify which private key was used to sign the random value, and therefore verify the website visitor has possession, in real-time, of the token. By association then, the website could assume the visitor is the same person who was issued the token. A thief could steal the token however and potentially be inappropriately identified.
Thus, each enterprise has digital data that represents the shared secrets and/or information about a user that the enterprise uses to verify that specific user's identity. Because most users deal with multiple enterprises, an individual user is required to have many user names and passwords, each associated with an established enterprise relationship. Often, to simply a user's life, they will choose the same password or other shared secret for every enterprise.
However, under the models of authentication discussed above, when security is compromised, the identity of the user and the credentials used to authenticate the user, e.g., passwords, social security number, credit card information, etc., can be stolen and used to impersonate the user to the enterprise. This is because the identity of the user and the user's credentials are both maintained by the applicable enterprise. The compromise escalates if the same password from the compromised enterprise can be used to authenticate at a different enterprise.
Therefore, a successful attack on the enterprise can, and indeed has, resulted in not only a breach of the user's credentials, but also of the user's identity. That is, in a single attack, attackers have been able to steal not only the user's credentials used for a particular enterprise, but also the user's identity information which the enterprise associates with those credentials. Thus, if someone attacks one enterprise's information, they can get both the user's identity and the user's credentials, possibly allowing the attacker to impersonate the user at multiple enterprises, which is a catastrophic loss.
2. Shared User Credentials
Each enterprise requires a different level of trust or confidence in the authentication of its users. Each has its own policies and criteria established with respect to authentication. In the banking world authentication policy and criteria are based on risk management. What type of device is the user using? Has the user ever paid this payee before? What's the dollar amount of the transaction, etc. Accordingly, if a user wants to move $5000.00, the bank website is going to prompt the user for a different credential, or additional credentials to provide a higher level of trust for the authentication, than it would if the user wanted to move only $10.00.
Additionally, an enterprise may want to utilize various credentials and other authenticators for the authentication and authorization process in a variety of different ways. This means that there is essentially a matrix of possibilities: using different categories of authenticators that represent something you have (i.e. something in your possession), something you know (something within your knowledge), and/or something you are (your biometric). Furthermore, the enterprise may have multiple choices within each one of those categories. Something you have could be a phone or access to a phone call, or smart card, or token. Something you know could be your mother's maiden name, your password, your preselected gesture or pattern, or which picture is the one that you chose when you logged in or when you set up the account. Something you are, could be your fingerprint, your voice pattern, your face or some other biometric. Consequently, there are numerous possible authenticators that can be used for authentication.
Each type of authenticator has its strengths and weaknesses. An authenticator which verifies knowledge, like a password or shared secret, costs nothing, can be easily replaced, but must be memorized and can be stolen. An authenticator which verifies procession, like a key or token, does not have to be memorized, can be cryptographically challenged, but can be lost or stolen. A biometric authenticator requires human interaction to capture a human attribute and therefore verifies a human is involved, cannot be lost by the user, but requires special equipment to be sampled, and to ensure the sample is from a live human to avoid replay or spoofing. That is why high security applications usually require use of multiple types of authenticators (also described as multiple factors of authentication).
There are also numerous ways to receive and sample these authenticators. As technology advances, devices evolve and today many users have multiple different devices, each with different capabilities, and thus, a myriad of potential authenticators at their disposal. The problem is that each user may utilize multiple different devices at different times or even at the same time, and different users may utilize different devices with different capabilities. Furthermore, users will upgrade their devices at a different times, unbeknownst to the enterprise. Thus, it is an arduous task for the banks, and other enterprises, to keep a valid profile for every user—it is a challenge for every user to continuously inform each enterprise of their new/upgraded devices, its capabilities, and thus, the potential authenticators available for authenticating the user.
3. Usage of Wireless Credential Devices—Access & Emulation
Today, if you look at certain credit cards, subway cards or other payment cards that can be used to pay for products or services, you will see a symbol that looks like a speaker. That symbol indicates that the card supports Near Field Communications (NFC), which are commonly referred to as NFC readable devices. Such NFC readable cards can be tapped on a NFC enabled point-of-sale (POS) terminal, and the POS terminal will read the desired information (e.g. credit card number and expiration date, or value remaining on a subway card etc.) off the card wirelessly. Additionally, smartphones are now enabled with NFC capabilities—they can act as an NFC readable device and can also read NFC readable devices. Accordingly, if you have an NFC enabled smartphone, you can tap an NFC readable card on your phone, the phone, like a POS terminal, can read it wirelessly. NFC enabled devices, including NFC enabled POS terminals and smartphones, are sometimes referred to as NFC readers. Thus, with NFC readable cards it is no longer necessary for the user to copy the information from the card into a website purchase form, or to physically insert the card into a POS terminal or to swipe the card's magnetic stripe. Instead, all that is required is that the card be tapped against an NFC reader and the NFC reader communicates wirelessly with the card to gather the desired information from the card.
Additionally, authentication tokens, such as RSA secure ID tokens, are in common usage, with some banks offering these tokens to their end user customers—typically high valued end user customers. In order to convince a customer to utilize such tokens, the bank might say to the end user, if you really want to protect your high dollar account, we will send you one of these tokens and you will have to use it to log-in in order to access your account. These authentication tokens can be wirelessly readable as well, via many different wireless communication methods like NFC, BLE (Bluetooth Low Energy), and others available now or in the future. Thus, it would be beneficial if the expanding usage of these wirelessly readable devices in concert with smartphones and other devices could somehow be utilized to provide even stronger authentication and verification. These devices are also referred to herein as low energy wireless devices—they do not require much energy and must be proximate to the device with which they are communicating.